<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SPHinXsys: SPH::Kernel Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">SPHinXsys
   &#160;<span id="projectnumber">alpha version</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_s_p_h.html">SPH</a></li><li class="navelem"><a class="el" href="class_s_p_h_1_1_kernel.html">Kernel</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="class_s_p_h_1_1_kernel-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">SPH::Kernel Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract base class of a general <a class="el" href="namespace_s_p_h.html">SPH</a> kernel function which is a smoothed Dirac delta function, a kernel function is radial symmetric, and has a scaling factor. Based on difference data type in 2d or 3d buildings, the kernel is defined for 2 and 3 dimensions. The kernel gives value one at the origin. The naming of kernel function follows the stand <a class="el" href="namespace_s_p_h.html">SPH</a> literature. Currently, only constant smoothing length is applied. Basically, one can assign different kernel for different particle interactions.  
 <a href="class_s_p_h_1_1_kernel.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="base__kernel_8h_source.html">base_kernel.h</a>&gt;</code></p>

<p>Inherited by <a class="el" href="class_s_p_h_1_1_kernel_hyperbolic.html">SPH::KernelHyperbolic</a>, <a class="el" href="class_s_p_h_1_1_kernel_tabulated.html">SPH::KernelTabulated&lt; KernelType &gt;</a>, and <a class="el" href="class_s_p_h_1_1_kernel_wendland_c2.html">SPH::KernelWendlandC2</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a8612cc6b245daed56a46dccc41c8052d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a8612cc6b245daed56a46dccc41c8052d">Kernel</a> (Real h, string kernel_name=&quot;kernel&quot;)</td></tr>
<tr class="separator:a8612cc6b245daed56a46dccc41c8052d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7aa251b63036bf57f3334658ec711dc9"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a7aa251b63036bf57f3334658ec711dc9">~Kernel</a> ()</td></tr>
<tr class="separator:a7aa251b63036bf57f3334658ec711dc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfa30e4afb735134ff4339e8a0aa8471"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#abfa30e4afb735134ff4339e8a0aa8471">GetKernelName</a> () const</td></tr>
<tr class="separator:abfa30e4afb735134ff4339e8a0aa8471"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ef795d8e290b92c8d280728f94f4e6e"><td class="memItemLeft" align="right" valign="top"><a id="a8ef795d8e290b92c8d280728f94f4e6e"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetSmoothingLength</b> () const</td></tr>
<tr class="separator:a8ef795d8e290b92c8d280728f94f4e6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c70cbb51d900ba4d40a1a87f7be0869"><td class="memItemLeft" align="right" valign="top"><a id="a3c70cbb51d900ba4d40a1a87f7be0869"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetKernelSize</b> () const</td></tr>
<tr class="separator:a3c70cbb51d900ba4d40a1a87f7be0869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade16ca4cf60f872684ddaaacc84fc500"><td class="memItemLeft" align="right" valign="top"><a id="ade16ca4cf60f872684ddaaacc84fc500"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetCutOffRadius</b> () const</td></tr>
<tr class="separator:ade16ca4cf60f872684ddaaacc84fc500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952a8576fbe90c005fd58a582d1f1b6d"><td class="memItemLeft" align="right" valign="top"><a id="a952a8576fbe90c005fd58a582d1f1b6d"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetFactorW1D</b> () const</td></tr>
<tr class="separator:a952a8576fbe90c005fd58a582d1f1b6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ceb37f5ac6697c15b761a48daf66bb2"><td class="memItemLeft" align="right" valign="top"><a id="a6ceb37f5ac6697c15b761a48daf66bb2"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetFactorW2D</b> () const</td></tr>
<tr class="separator:a6ceb37f5ac6697c15b761a48daf66bb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bb02ea4a71ea8f8386e5977a6e98680"><td class="memItemLeft" align="right" valign="top"><a id="a5bb02ea4a71ea8f8386e5977a6e98680"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>GetFactorW3D</b> () const</td></tr>
<tr class="separator:a5bb02ea4a71ea8f8386e5977a6e98680"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a549ca6a450b21e54d3e676de3eb29e1e"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a549ca6a450b21e54d3e676de3eb29e1e">W</a> (const Real &amp;r_ij) const</td></tr>
<tr class="separator:a549ca6a450b21e54d3e676de3eb29e1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d9198a0172efc66066bb8c8e23753f"><td class="memItemLeft" align="right" valign="top"><a id="a46d9198a0172efc66066bb8c8e23753f"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W</b> (const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:a46d9198a0172efc66066bb8c8e23753f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a849dda6d403ca4f1b2e8f92d53f2c7c7"><td class="memItemLeft" align="right" valign="top"><a id="a849dda6d403ca4f1b2e8f92d53f2c7c7"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W</b> (const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:a849dda6d403ca4f1b2e8f92d53f2c7c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f6cfb5c2c4f69a9eaca48f38a4610ea"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a4f6cfb5c2c4f69a9eaca48f38a4610ea">W_1D</a> (const Real q) const =0</td></tr>
<tr class="separator:a4f6cfb5c2c4f69a9eaca48f38a4610ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a036e776083ab75baef7ef8057776d208"><td class="memItemLeft" align="right" valign="top"><a id="a036e776083ab75baef7ef8057776d208"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W_2D</b> (const Real q) const =0</td></tr>
<tr class="separator:a036e776083ab75baef7ef8057776d208"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa79258a04de5a75196583331cdfffe97"><td class="memItemLeft" align="right" valign="top"><a id="aa79258a04de5a75196583331cdfffe97"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W_3D</b> (const Real q) const =0</td></tr>
<tr class="separator:aa79258a04de5a75196583331cdfffe97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa64d38633ea29afeedbbae701b9e1d76"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#aa64d38633ea29afeedbbae701b9e1d76">W0</a> (const Real &amp;r_i) const</td></tr>
<tr class="separator:aa64d38633ea29afeedbbae701b9e1d76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a9625ca131cb6542cc4ac04c2a1e4cf"><td class="memItemLeft" align="right" valign="top"><a id="a9a9625ca131cb6542cc4ac04c2a1e4cf"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W0</b> (const Vec2d &amp;r_i) const</td></tr>
<tr class="separator:a9a9625ca131cb6542cc4ac04c2a1e4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4a22a85a437d519bed80e59f7e0eb2f"><td class="memItemLeft" align="right" valign="top"><a id="ab4a22a85a437d519bed80e59f7e0eb2f"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>W0</b> (const Vec3d &amp;r_i) const</td></tr>
<tr class="separator:ab4a22a85a437d519bed80e59f7e0eb2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03bd24d34e815de1f625a30d168a2046"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a03bd24d34e815de1f625a30d168a2046">dW</a> (const Real &amp;r_ij) const</td></tr>
<tr class="separator:a03bd24d34e815de1f625a30d168a2046"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bb76e9afd86c7074ab3a0765a5c3377"><td class="memItemLeft" align="right" valign="top"><a id="a4bb76e9afd86c7074ab3a0765a5c3377"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW</b> (const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:a4bb76e9afd86c7074ab3a0765a5c3377"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a802369a2eaa96fa7db210208b4dbcaf4"><td class="memItemLeft" align="right" valign="top"><a id="a802369a2eaa96fa7db210208b4dbcaf4"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW</b> (const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:a802369a2eaa96fa7db210208b4dbcaf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35311583b6d656c8f542bab91b688094"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a35311583b6d656c8f542bab91b688094">dW_1D</a> (const Real q) const =0</td></tr>
<tr class="separator:a35311583b6d656c8f542bab91b688094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af865d376cc7e7b85c4a6fe677a8188ee"><td class="memItemLeft" align="right" valign="top"><a id="af865d376cc7e7b85c4a6fe677a8188ee"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW_2D</b> (const Real q) const =0</td></tr>
<tr class="separator:af865d376cc7e7b85c4a6fe677a8188ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af923c8db5816ec59630d2bdc2ffddc8e"><td class="memItemLeft" align="right" valign="top"><a id="af923c8db5816ec59630d2bdc2ffddc8e"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW_3D</b> (const Real q) const =0</td></tr>
<tr class="separator:af923c8db5816ec59630d2bdc2ffddc8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad99d53b30a277189118a7a553d462c9d"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#ad99d53b30a277189118a7a553d462c9d">d2W</a> (const Real &amp;r_ij) const</td></tr>
<tr class="separator:ad99d53b30a277189118a7a553d462c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab22710c05035d2f7f2f999e2fe9eedc5"><td class="memItemLeft" align="right" valign="top"><a id="ab22710c05035d2f7f2f999e2fe9eedc5"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W</b> (const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:ab22710c05035d2f7f2f999e2fe9eedc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8c13f306b54dd2a8acd747e99039366"><td class="memItemLeft" align="right" valign="top"><a id="ae8c13f306b54dd2a8acd747e99039366"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W</b> (const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:ae8c13f306b54dd2a8acd747e99039366"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a310c2f9a29f9fa9698d38208cde7976e"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a310c2f9a29f9fa9698d38208cde7976e">d2W_1D</a> (const Real q) const =0</td></tr>
<tr class="separator:a310c2f9a29f9fa9698d38208cde7976e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeee7a70b30784b5942ee2c857b87119c"><td class="memItemLeft" align="right" valign="top"><a id="aeee7a70b30784b5942ee2c857b87119c"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W_2D</b> (const Real q) const =0</td></tr>
<tr class="separator:aeee7a70b30784b5942ee2c857b87119c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a0e8eea815bf76b44b5076814119aab"><td class="memItemLeft" align="right" valign="top"><a id="a7a0e8eea815bf76b44b5076814119aab"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W_3D</b> (const Real q) const =0</td></tr>
<tr class="separator:a7a0e8eea815bf76b44b5076814119aab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16c1c6ccf1edd2fa38f20be4c4dc7349"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a16c1c6ccf1edd2fa38f20be4c4dc7349">GetCutOffRadius</a> (Real smoothing_length) const</td></tr>
<tr class="separator:a16c1c6ccf1edd2fa38f20be4c4dc7349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fd7eaabfc9f3791be8612f4638f3bfa"><td class="memItemLeft" align="right" valign="top"><a id="a4fd7eaabfc9f3791be8612f4638f3bfa"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>W</b> (Real inv_h_in, const Real &amp;r_ij) const</td></tr>
<tr class="separator:a4fd7eaabfc9f3791be8612f4638f3bfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9dfed6f5bc0750fe579c0a4dd9d0633"><td class="memItemLeft" align="right" valign="top"><a id="aa9dfed6f5bc0750fe579c0a4dd9d0633"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>W</b> (Real inv_h_in, const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:aa9dfed6f5bc0750fe579c0a4dd9d0633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eac44fac41261764d917f6df37d9fec"><td class="memItemLeft" align="right" valign="top"><a id="a6eac44fac41261764d917f6df37d9fec"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>W</b> (Real inv_h_in, const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:a6eac44fac41261764d917f6df37d9fec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04bef4b91ff163fb667943330f744f59"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a04bef4b91ff163fb667943330f744f59">W0</a> (Real inv_h_in, const Real &amp;r_i) const</td></tr>
<tr class="separator:a04bef4b91ff163fb667943330f744f59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb38faa09229be656e16f1ca65cb2916"><td class="memItemLeft" align="right" valign="top"><a id="acb38faa09229be656e16f1ca65cb2916"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>W0</b> (Real inv_h_in, const Vec2d &amp;r_i) const</td></tr>
<tr class="separator:acb38faa09229be656e16f1ca65cb2916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa47bf4aaa8624ec5f267da82005b61d1"><td class="memItemLeft" align="right" valign="top"><a id="aa47bf4aaa8624ec5f267da82005b61d1"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>W0</b> (Real inv_h_in, const Vec3d &amp;r_i) const</td></tr>
<tr class="separator:aa47bf4aaa8624ec5f267da82005b61d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b7821f3772a7872a445790a780c089"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#ad7b7821f3772a7872a445790a780c089">dW</a> (Real inv_h_in, const Real &amp;r_ij) const</td></tr>
<tr class="separator:ad7b7821f3772a7872a445790a780c089"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32fe3f672f8c80f270c4773e152569a2"><td class="memItemLeft" align="right" valign="top"><a id="a32fe3f672f8c80f270c4773e152569a2"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW</b> (Real inv_h_in, const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:a32fe3f672f8c80f270c4773e152569a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab77b584d68cdfad0e4c997247d83ad17"><td class="memItemLeft" align="right" valign="top"><a id="ab77b584d68cdfad0e4c997247d83ad17"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>dW</b> (Real inv_h_in, const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:ab77b584d68cdfad0e4c997247d83ad17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cc5bdc6393870ae63bf5d4a5c743d99"><td class="memItemLeft" align="right" valign="top">virtual Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a3cc5bdc6393870ae63bf5d4a5c743d99">d2W</a> (Real inv_h_in, const Real &amp;r_ij) const</td></tr>
<tr class="separator:a3cc5bdc6393870ae63bf5d4a5c743d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1fbb707026b121e0318dd52baaacb3ae"><td class="memItemLeft" align="right" valign="top"><a id="a1fbb707026b121e0318dd52baaacb3ae"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W</b> (Real inv_h_in, const Vec2d &amp;r_ij) const</td></tr>
<tr class="separator:a1fbb707026b121e0318dd52baaacb3ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3674923f684fb759170f0789f3c02e4"><td class="memItemLeft" align="right" valign="top"><a id="ad3674923f684fb759170f0789f3c02e4"></a>
virtual Real&#160;</td><td class="memItemRight" valign="bottom"><b>d2W</b> (Real inv_h_in, const Vec3d &amp;r_ij) const</td></tr>
<tr class="separator:ad3674923f684fb759170f0789f3c02e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a0c874bfa6a41df56508552fd43de66c9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a0c874bfa6a41df56508552fd43de66c9">SetDerivativeFactors</a> ()</td></tr>
<tr class="separator:a0c874bfa6a41df56508552fd43de66c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6501479517672c9aa4f3000669efc1b5"><td class="memItemLeft" align="right" valign="top"><a id="a6501479517672c9aa4f3000669efc1b5"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>getSmoothingLengthFactor1D</b> (Real inv_h_in) const</td></tr>
<tr class="separator:a6501479517672c9aa4f3000669efc1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54da3856965717ee77083eefa56c8ccc"><td class="memItemLeft" align="right" valign="top"><a id="a54da3856965717ee77083eefa56c8ccc"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>getSmoothingLengthFactor2D</b> (Real inv_h_in) const</td></tr>
<tr class="separator:a54da3856965717ee77083eefa56c8ccc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad307c088265be0b753fa2711b2f62723"><td class="memItemLeft" align="right" valign="top"><a id="ad307c088265be0b753fa2711b2f62723"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>getSmoothingLengthFactor3D</b> (Real inv_h_in) const</td></tr>
<tr class="separator:ad307c088265be0b753fa2711b2f62723"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:ab014e8b2d257cddea9976dde2e6d63fe"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#ab014e8b2d257cddea9976dde2e6d63fe">kernel_name_</a></td></tr>
<tr class="separator:ab014e8b2d257cddea9976dde2e6d63fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9c91600939c132ad863393d2cdca533"><td class="memItemLeft" align="right" valign="top">const Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#ae9c91600939c132ad863393d2cdca533">h_</a></td></tr>
<tr class="separator:ae9c91600939c132ad863393d2cdca533"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa739be109d19fa65e3e27d873d82637b"><td class="memItemLeft" align="right" valign="top"><a id="aa739be109d19fa65e3e27d873d82637b"></a>
const Real&#160;</td><td class="memItemRight" valign="bottom"><b>inv_h_</b></td></tr>
<tr class="separator:aa739be109d19fa65e3e27d873d82637b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30bb850456a8ec2134a55a07dd0e21e8"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a30bb850456a8ec2134a55a07dd0e21e8">kernel_size_</a></td></tr>
<tr class="separator:a30bb850456a8ec2134a55a07dd0e21e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a020d84f32ef2d01ada898f44e696bd51"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a020d84f32ef2d01ada898f44e696bd51">factor_W_1D_</a></td></tr>
<tr class="separator:a020d84f32ef2d01ada898f44e696bd51"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a2c2862530b8039655fc69475b69049"><td class="memItemLeft" align="right" valign="top"><a id="a5a2c2862530b8039655fc69475b69049"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_W_2D_</b></td></tr>
<tr class="separator:a5a2c2862530b8039655fc69475b69049"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04f96e910174ecb98c9ba9eb7633a819"><td class="memItemLeft" align="right" valign="top"><a id="a04f96e910174ecb98c9ba9eb7633a819"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_W_3D_</b></td></tr>
<tr class="separator:a04f96e910174ecb98c9ba9eb7633a819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b4e8f0f49a50eedb84c61523d05ad5b"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a0b4e8f0f49a50eedb84c61523d05ad5b">factor_dW_1D_</a></td></tr>
<tr class="separator:a0b4e8f0f49a50eedb84c61523d05ad5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c58782630bf2ded53bed6b416f07a09"><td class="memItemLeft" align="right" valign="top"><a id="a6c58782630bf2ded53bed6b416f07a09"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_dW_2D_</b></td></tr>
<tr class="separator:a6c58782630bf2ded53bed6b416f07a09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f991c47604d6fbdf1f43304bfc162aa"><td class="memItemLeft" align="right" valign="top"><a id="a1f991c47604d6fbdf1f43304bfc162aa"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_dW_3D_</b></td></tr>
<tr class="separator:a1f991c47604d6fbdf1f43304bfc162aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7512f5241cf7c52ee484db23b1feed79"><td class="memItemLeft" align="right" valign="top">Real&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_s_p_h_1_1_kernel.html#a7512f5241cf7c52ee484db23b1feed79">factor_d2W_1D_</a></td></tr>
<tr class="separator:a7512f5241cf7c52ee484db23b1feed79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d7a48ff3ddb8bdaffb672c3e0246060"><td class="memItemLeft" align="right" valign="top"><a id="a9d7a48ff3ddb8bdaffb672c3e0246060"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_d2W_2D_</b></td></tr>
<tr class="separator:a9d7a48ff3ddb8bdaffb672c3e0246060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a389b38e64578b5745df9c2467deebeb8"><td class="memItemLeft" align="right" valign="top"><a id="a389b38e64578b5745df9c2467deebeb8"></a>
Real&#160;</td><td class="memItemRight" valign="bottom"><b>factor_d2W_3D_</b></td></tr>
<tr class="separator:a389b38e64578b5745df9c2467deebeb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract base class of a general <a class="el" href="namespace_s_p_h.html">SPH</a> kernel function which is a smoothed Dirac delta function, a kernel function is radial symmetric, and has a scaling factor. Based on difference data type in 2d or 3d buildings, the kernel is defined for 2 and 3 dimensions. The kernel gives value one at the origin. The naming of kernel function follows the stand <a class="el" href="namespace_s_p_h.html">SPH</a> literature. Currently, only constant smoothing length is applied. Basically, one can assign different kernel for different particle interactions. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a8612cc6b245daed56a46dccc41c8052d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8612cc6b245daed56a46dccc41c8052d">&#9670;&nbsp;</a></span>Kernel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SPH::Kernel::Kernel </td>
          <td>(</td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>kernel_name</em> = <code>&quot;kernel&quot;</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructor </p>

</div>
</div>
<a id="a7aa251b63036bf57f3334658ec711dc9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7aa251b63036bf57f3334658ec711dc9">&#9670;&nbsp;</a></span>~Kernel()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual SPH::Kernel::~Kernel </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Base classes with virtual member functions should have a virtual destructor </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad99d53b30a277189118a7a553d462c9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad99d53b30a277189118a7a553d462c9d">&#9670;&nbsp;</a></span>d2W() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::d2W </td>
          <td>(</td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_ij</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel second order derivation for the given distance of two particles </p>

</div>
</div>
<a id="a3cc5bdc6393870ae63bf5d4a5c743d99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cc5bdc6393870ae63bf5d4a5c743d99">&#9670;&nbsp;</a></span>d2W() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::d2W </td>
          <td>(</td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>inv_h_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_ij</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel second order derivation for the given distance of two particles </p>

</div>
</div>
<a id="a310c2f9a29f9fa9698d38208cde7976e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a310c2f9a29f9fa9698d38208cde7976e">&#9670;&nbsp;</a></span>d2W_1D()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Real SPH::Kernel::d2W_1D </td>
          <td>(</td>
          <td class="paramtype">const Real&#160;</td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this value could be use to calculate the value of d2W </p>

<p>Implemented in <a class="el" href="class_s_p_h_1_1_kernel_hyperbolic.html#a03b763908b1592151cd579a37dc85a79">SPH::KernelHyperbolic</a>, <a class="el" href="class_s_p_h_1_1_kernel_wendland_c2.html#a175eec2ea0d909637b2a4f99d112d80e">SPH::KernelWendlandC2</a>, and <a class="el" href="class_s_p_h_1_1_kernel_tabulated.html#aec02c2eb341aa195f2b0bba19eb52eba">SPH::KernelTabulated&lt; KernelType &gt;</a>.</p>

</div>
</div>
<a id="a03bd24d34e815de1f625a30d168a2046"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03bd24d34e815de1f625a30d168a2046">&#9670;&nbsp;</a></span>dW() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::dW </td>
          <td>(</td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_ij</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel derivation for the given distance of two particles </p>

</div>
</div>
<a id="ad7b7821f3772a7872a445790a780c089"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7b7821f3772a7872a445790a780c089">&#9670;&nbsp;</a></span>dW() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::dW </td>
          <td>(</td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>inv_h_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_ij</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel derivation for the given distance of two particles </p>

</div>
</div>
<a id="a35311583b6d656c8f542bab91b688094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35311583b6d656c8f542bab91b688094">&#9670;&nbsp;</a></span>dW_1D()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Real SPH::Kernel::dW_1D </td>
          <td>(</td>
          <td class="paramtype">const Real&#160;</td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this value could be use to calculate the value of dW </p>

<p>Implemented in <a class="el" href="class_s_p_h_1_1_kernel_hyperbolic.html#a89ba46fc0cb0dbcd0c318b2b0106c695">SPH::KernelHyperbolic</a>, <a class="el" href="class_s_p_h_1_1_kernel_wendland_c2.html#a6167f2790edbde965c0347907f2e7432">SPH::KernelWendlandC2</a>, and <a class="el" href="class_s_p_h_1_1_kernel_tabulated.html#a062b971dbeeaf688f07f07bf3e691688">SPH::KernelTabulated&lt; KernelType &gt;</a>.</p>

</div>
</div>
<a id="a16c1c6ccf1edd2fa38f20be4c4dc7349"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16c1c6ccf1edd2fa38f20be4c4dc7349">&#9670;&nbsp;</a></span>GetCutOffRadius()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::GetCutOffRadius </td>
          <td>(</td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>smoothing_length</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>for variable smoothing length note that we input the inverse of the variable smoothing length. </p>

</div>
</div>
<a id="abfa30e4afb735134ff4339e8a0aa8471"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfa30e4afb735134ff4339e8a0aa8471">&#9670;&nbsp;</a></span>GetKernelName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">string SPH::Kernel::GetKernelName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>access essential information of the kernel </p>

</div>
</div>
<a id="a0c874bfa6a41df56508552fd43de66c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c874bfa6a41df56508552fd43de66c9">&#9670;&nbsp;</a></span>SetDerivativeFactors()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SPH::Kernel::SetDerivativeFactors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Fractors for derivatives </p>

</div>
</div>
<a id="a549ca6a450b21e54d3e676de3eb29e1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a549ca6a450b21e54d3e676de3eb29e1e">&#9670;&nbsp;</a></span>W()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::W </td>
          <td>(</td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_ij</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel value for the given displacement of two particles r_ij pointing from particle j to particle i </p>

</div>
</div>
<a id="aa64d38633ea29afeedbbae701b9e1d76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa64d38633ea29afeedbbae701b9e1d76">&#9670;&nbsp;</a></span>W0() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Real SPH::Kernel::W0 </td>
          <td>(</td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_i</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Calculates the kernel value at the origin </p>

</div>
</div>
<a id="a04bef4b91ff163fb667943330f744f59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04bef4b91ff163fb667943330f744f59">&#9670;&nbsp;</a></span>W0() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::W0 </td>
          <td>(</td>
          <td class="paramtype">Real&#160;</td>
          <td class="paramname"><em>inv_h_in</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Real &amp;&#160;</td>
          <td class="paramname"><em>r_i</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Calculates the kernel value at the origin </p>

</div>
</div>
<a id="a4f6cfb5c2c4f69a9eaca48f38a4610ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f6cfb5c2c4f69a9eaca48f38a4610ea">&#9670;&nbsp;</a></span>W_1D()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual Real SPH::Kernel::W_1D </td>
          <td>(</td>
          <td class="paramtype">const Real&#160;</td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>this value could be use to calculate the value of W </p>

<p>Implemented in <a class="el" href="class_s_p_h_1_1_kernel_hyperbolic.html#ad8fb3b94da80e59ac924f357c5cf5d75">SPH::KernelHyperbolic</a>, <a class="el" href="class_s_p_h_1_1_kernel_wendland_c2.html#a961e8363b003559f9bbe4ceb641fafce">SPH::KernelWendlandC2</a>, and <a class="el" href="class_s_p_h_1_1_kernel_tabulated.html#aa36a4bb1c09b3eef3d4a0045cb85ae74">SPH::KernelTabulated&lt; KernelType &gt;</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a7512f5241cf7c52ee484db23b1feed79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7512f5241cf7c52ee484db23b1feed79">&#9670;&nbsp;</a></span>factor_d2W_1D_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::factor_d2W_1D_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Auxiliary factors for the second order derivative of kernel function </p>

</div>
</div>
<a id="a0b4e8f0f49a50eedb84c61523d05ad5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b4e8f0f49a50eedb84c61523d05ad5b">&#9670;&nbsp;</a></span>factor_dW_1D_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::factor_dW_1D_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Auxiliary factors for the derivative of kernel function </p>

</div>
</div>
<a id="a020d84f32ef2d01ada898f44e696bd51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a020d84f32ef2d01ada898f44e696bd51">&#9670;&nbsp;</a></span>factor_W_1D_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::factor_W_1D_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Normalization factor for the kernel function </p>

</div>
</div>
<a id="ae9c91600939c132ad863393d2cdca533"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9c91600939c132ad863393d2cdca533">&#9670;&nbsp;</a></span>h_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Real SPH::Kernel::h_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>reference smoothing length </p>

</div>
</div>
<a id="ab014e8b2d257cddea9976dde2e6d63fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab014e8b2d257cddea9976dde2e6d63fe">&#9670;&nbsp;</a></span>kernel_name_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const string SPH::Kernel::kernel_name_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>name of the kernel </p>

</div>
</div>
<a id="a30bb850456a8ec2134a55a07dd0e21e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30bb850456a8ec2134a55a07dd0e21e8">&#9670;&nbsp;</a></span>kernel_size_</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">Real SPH::Kernel::kernel_size_</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>non-dimensional size of the kernel </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>SPHINXsys/src/shared/kernels/<a class="el" href="base__kernel_8h_source.html">base_kernel.h</a></li>
<li>SPHINXsys/src/shared/kernels/<a class="el" href="base__kernel_8cpp.html">base_kernel.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
